home *** CD-ROM | disk | FTP | other *** search
- opt d-,l-,c+ ;remove this if tou don't use Devpac
-
-
- include 'general.i' ;my set of macros
- include 'startup2.i' ;the startup code
- START
- lea.l $dff000,a6 ;I use this here ever
-
- *---
- * Do your personal modify to coplist BEFORE call BScreenInit,
- * cause this is not the real coplist but just an header that will
- * be copied in chip mem and modified.
-
- lea.l Palette,a0 ;just set the palette in coplist
- lea.l BScreenCoplist_color,a1
- move.l #256,d0
- bsr SetPalette
- *---
- *Remember to activate at least all this DMAs
- move.w #$83e0,$096(a6) ;mast,bpl,cop,blit,spr
-
-
- move.w #$7fff,$09a(a6) ;deactivate interrupts
- move.w #$7fff,$09c(a6) ;kill survivors
-
- *---
- *Call to Inizialization Routine
- bsr BScreenInit ;create coplist
-
- *---
- * VERY IMPORTANT Set the screen to be used by the interrupt lev 3 routine
- * By changing this you can perform double buffering.
- move.l #MyScreen,BScreenCurrentScreen
-
- *---
- * The coplist will be started by the Interrupt routine
- * V.I. set Interrupt vector and activate bits
- move.l BaseVBR,a0
- move.l #BScreenInt3,$06c(a0) ;interrupt routine in 'BScreenInt3.i'
- move.w #$c060,$09a(a6) ;activate Blitter e VB intreq
-
- *---
- *Convert my image
- lea.l Chunky,a0 ;Chunky image to convert
- lea.l MyScreen,a1 ;Destination screen
- bsr BScreenConvert ;Conversion
-
- *---
- *Here we wait for BScreen to finish
- bsr BScreenWait
-
- *OK, now you can call BScreenReStart to convert again the same Chunky screen
- *in the same planar screen, but isn't good for double buffering.
- *Remember in any case to use BScreenWait first.
-
-
- LMB ;just wait for LeftMouse Button
- END
- rts
- *********End Main*********************
-
-
-
- *********************************
- * Some datas in fast mem
-
- include 'BScreen.i' ;<----include these to use BScreen
- include 'BScreenInt3.i' ;<---/
-
- include 'SetPalette.i' ;my proc to set the palette in coplist
- WaitLine_def ;macro to define WaitLine function
- Palette include 'lakestar.pal' ;Palette of the picture
-
-
-
- *******************************
- SECTION BSSFast,BSS
- BScreenList ds.b 40*1024 ;buffer for Blitter programmation
-
-
-
- *******************************
- SECTION BSSChip,BSS_C
- cnop 0,8
- MyScreen ds.b BScreenPlaneSize*4
- BScreenBuffer ds.b BScreenChunkySize/2
- BScreenScrambleBuffer ds.b BScreenChunkySize
- BScreenSpriteBuffer0 ds.b (312*8*2)*8
- BScreenSpriteBuffer1 ds.b (312*8*2)*8
- BScreenCoplist0 ds.b 8096
- BScreenCoplist1 ds.b 8096
-
-
-
-
-
- *******************************
- SECTION DatiChip,DATA_C
- ;IMAGE TO CONVERT
- ;MUST be in chip mem
- Chunky incbin 'LakeStar160x128.raw' ;in 8 bit Chunky Mode
-
- ****** ;THE COPPERLIST
- BScreenCoplist
- dc.l $01fc400f ;fmode=3 ;SPRfmode=3 ; 2x2: SCANDOUBLE planes
- dc.l $00968100 ;plane dma on line 0
- dc.l $01000211,$01020000 ;LORES 8 planes, ECS on for bblank
- dc.l $0104003f ;$104 sprite priority!
- dc.l $01060020 ;$1060020: bblank
- dc.l $010c00ff ;$10c:<--- SELECT HERE THE SPRITE COLORBANK!!!
- dc.l $0108ffd8,$010a0000 ;2x2: modulo -40=$ffd8
- dc.l $008e2881,$009028c1 ;display window
- dc.l $00920038,$009400a0 ;ddfstrt/stp values for 320pix-width-plane
-
- ;*** Bpl pointers refreshed in VB-Int3
- ;*** Color Section
- dc.w $106,$c00
- BScreenCoplist_color
- DC.W $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
- DC.W $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
- DC.W $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
- DC.W $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
- DC.W $106,$e00
- DC.W $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
- DC.W $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
- DC.W $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
- DC.W $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
- DC.W $106,$2C00
- DC.W $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
- DC.W $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
- DC.W $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
- DC.W $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
- DC.W $106,$2E00
- DC.W $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
- DC.W $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
- DC.W $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
- DC.W $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
- DC.W $106,$4C00
- DC.W $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
- DC.W $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
- DC.W $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
- DC.W $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
- DC.W $106,$4E00
- DC.W $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
- DC.W $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
- DC.W $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
- DC.W $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
- DC.W $106,$6C00
- DC.W $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
- DC.W $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
- DC.W $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
- DC.W $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
- DC.W $106,$6E00
- DC.W $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
- DC.W $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
- DC.W $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
- DC.W $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
- DC.W $106,$8C00
- DC.W $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
- DC.W $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
- DC.W $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
- DC.W $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
- DC.W $106,$8E00
- DC.W $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
- DC.W $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
- DC.W $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
- DC.W $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
- DC.W $106,$AC00
- DC.W $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
- DC.W $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
- DC.W $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
- DC.W $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
- DC.W $106,$AE00
- DC.W $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
- DC.W $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
- DC.W $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
- DC.W $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
- DC.W $106,$CC00
- DC.W $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
- DC.W $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
- DC.W $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
- DC.W $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
- DC.W $106,$CE00
- DC.W $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
- DC.W $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
- DC.W $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
- DC.W $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
- DC.W $106,$EC00
- DC.W $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
- DC.W $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
- DC.W $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
- DC.W $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
- DC.W $106,$EE00
- DC.W $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
- DC.W $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
- DC.W $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
- DC.W $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
-
- dc.l $01060c20
- BScreenCoplist_End ;$fffffffe will be added by BScreenInit
-
-
-
- end
-